草庐IT

Web 应用

全部标签

Golang 捕获 sigterm 并继续应用

是否有可能在Golang中捕捉到一个sigterm并继续处理代码,例如panic/defer?示例:funcmain(){fmt.Println("appstarted")setupGracefulShutdown()for{}close()}funcclose(){fmt.Println("infiniteloopstoppedandgothere")}funcsetupGracefulShutdown(){sigChan:=make(chanos.Signal)signal.Notify(sigChan,os.Interrupt,syscall.SIGTERM)gofunc(){f

去旅行练习 : Web Crawler - all goroutines are asleep - deadlock

练习来自:https://tour.golang.org/concurrency/10描述:Inthisexerciseyou'lluseGo'sconcurrencyfeaturestoparallelizeawebcrawler.ModifytheCrawlfunctiontofetchURLsinparallelwithoutfetchingthesameURLtwice.Hint:youcankeepacacheoftheURLsthathavebeenfetchedonamap,butmapsalonearenotsafeforconcurrentuse!这是我的答案:pac

sqlite - 有没有办法查看将参数应用于 sqlite 中的查询的结果?

我在Go中使用sqlite3,出于调试目的,我想查看将参数应用于带有替换的查询的结果,即使用?替换为实际参数。这可能吗?目前,我有如下代码,打印的FTS5查询看起来没问题:SELECTowneridFROM__ftsindexWHEREownertable=?AND__ftsindexMATCH?AND(__ftsindexMATCH?)LIMIT?;它没有返回错误,但它也没有找到它应该找到的东西,我不知道如何进一步调试它:fori:=rangetrails{ifi==0{s+=`(__ftsindexMATCH?`}else{s+=`OR__ftsindexMATCH?`}}s+="

user-interface - 增加这个简单的 go gui 应用程序的默认字体大小

我正在使用以下简单的演示代码来使用Fyne创建一个GUI包:packagemainimport("fyne.io/fyne/widget""fyne.io/fyne/app")funcmain(){app:=app.New()w:=app.NewWindow("Hello")w.SetContent(widget.NewVBox(widget.NewLabel("HelloFyne!"),widget.NewButton("Quit",func(){app.Quit()}),))w.ShowAndRun()}一切正常,但我想增加此GUI的默认字体大小(以便标签、按钮和任何其他小部件(如

amazon-web-services - 使用多个键更新 dynamodb golang

我想用键列表更新dynamodb表。我的结构是:{身份证,代码串我有一个Code值列表,当寄存器等于任何Code值时,我希望dynamodb更新:{ID:1,代码:“任何东西”}{ID:1,代码:“another_code”}当表找到值为1的ID和类似“anything”或“another_code”的代码时,它会更新寄存器的值。我确实注意到这是不可能的,我应该使用循环并每次更新每一行,是这样吗?returndynamodb.UpdateItemInput{TableName:&tableName,Key:attributeObject,UpdateExpression:&expres

Go Web 服务器无法正确处理/删除/模式化

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎与helpcenter中定义的范围内的编程无关。.关闭9年前。Improvethisquestion我刚刚玩了一个googleGO官方例子WritingWebApplications我试图添加删除页面的功能,但没有成功。原因是,如果您将"/delete/"作为参数传递给http.HandleFunc()函数,您总是会收到404Pagenotfound。任何其他"foobar"字符串都按预期工作。简化代码:packagemainimport("fmt""net/http")funchandl

python - 如何使用 HTTP "Host" header (使用 GoLang)定位特定的应用程序服务器

问题:为什么我不能使用Go语言在请求URL中使用它的IP地址并将主机名作为“主机”header来定位服务器?为什么使用python可以做同样的事情?(2.7.6-urllib2)背景:我正在编写一个系统测试,它会将HTTP请求发送到我正在测试的几个特定应用程序服务器,并检查结果的正确性。每个应用服务器具有相同的功能,应该返回相同的响应数据。这些服务器分组在负载平衡器后面。这些负载均衡器随后由DNS解析,并将流量转发到适当的后端服务器。为了独立地定位每个服务器(用于测试),我在URL中使用每个服务器的IP地址而不是通常的主机名,并且我将“主机”HTTPheader设置为通常在url中出现

google-app-engine - 应用程序.yaml : wildcard in URL with static_dir?

我尝试将正则表达式匹配为app.yaml中的目录名称无效:-url:/v1_.*static_dir:static/v1expiration:"364d"虽然thisofficialspec表示支持正则表达式语法。有什么办法可以做到这一点吗?即/v1_2014-01-29/img/logo.png应该匹配静态文件/static/v1/img/logo.png。琐事我使用GoogleAppEngine为Go提供服务网络应用程序。我想最大限度地延长浏览器缓存的生命周期,最大限度地减少请求数量,并且仍然提供我的css/js/png的新版本,我相信revvingfilenames是实现这一目标

ide - 在 Windows 机器上使用 IDE,但在 Linux 机器上测试/运行应用程序?

我正在迈出使用Go的第一步。我的工作站在Windows上,我正在使用JetBrainsIDE进行开发。通常,我已经将网络磁盘(通过SSH)挂载到Linux机器上。这个环境非常适合使用PHP、Javascript(用于Node)、Python等解释性语言进行编码和调试。但对于像Go这样的编译型语言来说,这绝对是丑陋的。为了编写Go代码,我使用了IntelliJIDEA的Go插件。是否可以为这个插件定义一个远程Go编译器(将在远程Linux机器上运行)? 最佳答案 由于Go是一种编译语言,因此这种开发设置不像脚本语言那么容易。要在Win

google-app-engine - 特定页面的谷歌应用引擎身份验证

我正在尝试在golang平台上使用google-app-engine进行开发,我希望仅在特定页面上执行检查(针对登录用户)。例如:访问“/”路径的用户如果已登录,将被重定向到“/site”,或者将显示有关该产品的页面。当用户访问“/members”、“/users”、“/items”页面时,如果未通过身份验证,将被重定向到登录页面。一个简单的go代码建议:packagehelloimport("fmt""net/http""appengine""appengine/user")funcinit(){http.HandleFunc("/",site)http.HandleFunc("/"